A methodolgy for programming with concurrency

نویسندگان

  • Christian Lengauer
  • Eric C. R. Hehner
چکیده

A programming calculus is presented which will yield programs with simple, suitable, and safe concurrency. The program design consists of three steps: (i) specification of a finite problem by a pre/post condition pair (2) formal refinement of a totally correct solution which can be implemented sequentially (3) declaration of program properties which allow relaxations in sequencing (+ concurrency) For infinite problems programs can be executed repeatedly without correctness problems. For the choice of refinement formal guidelines can be used. The derived solutions have the following properties: (a) dynamic concurrency processes do not have to be statically declared (b) only correct concurrency can be specified exclusion is not explicitly programmed (c) conditional concurrency no conditional delays (d) stepwise proofs of parallel correctness without auxiliary variables (e) simply derived freedom from deadlock and starvation without appealing to a fair scheduler Address of authors: University of Toronto, Computer Systems Research Group, 121 St. Joseph's St., Toronto, Ontario, Canada, M5S IAI Research supported by the Social Sciences and Humanities Research Council of Canada

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Survey of Concurrency Control Algorithms in the Operating Systems

Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...

متن کامل

A Survey of Concurrency Control Algorithms in the Operating Systems

Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...

متن کامل

Optimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems

In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...

متن کامل

Adding Concurrency to a Programming Language

A programming language that lacks facilities for concurrent programming can gain those facilities in two ways: the language can be extended with additional constructs, which will reflect a particular model of concurrency, or libraries of types and routines can be written with different libraries implementing different models. This paper examines the two approaches, for object-oriented and non-o...

متن کامل

Defining a Catalog of Programming Anti-Patterns for Concurrent Java

Many programming languages, including Java, provide support for concurrency. Although concurrency has many benefits with respect to performance, concurrent software can be problematic to develop and test because of the many different thread interleavings. We propose a comprehensive set of concurrency programming anti-patterns that can be used by Java developers to aid in avoiding many of the kn...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1981